package com.shuiyun.jtt.message;

import java.io.Serializable;

/**
 * @author shuiyun
 * @description 基本头
 * @date 2022-04-18 20:12
 */
public interface BaseHeader<ClientID, Type> extends Serializable {

    /**
     * 获取客户端ID
     *
     * @return 客户端ID
     * @author shuiyun
     * @date 2022/4/18
     */
    ClientID getClientId();

    /**
     * 获取消息类型
     *
     * @return 消息类型
     */
    Type getType();

    /**
     * 获取流水号
     *
     * @return 流水号
     * @author shuiyun
     * @date 2022/4/18
     */
    int getSerialNo();

    /**
     * 设置流水号
     *
     * @param serialNo 流水号
     * @author shuiyun
     * @date 2022/4/18
     */
    void setSerialNo(int serialNo);

}
